package com.bf.electroplating.pojo.vo.viewAccessDeviceList;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * 企业设备统计信息
 */
@Data
@Schema(description = "园区企业设备统计信息")
public class ViewAccessDeviceCompanyStatsVO {

    @Schema(description = "设备类型ID")
    private Long classId;

    @Schema(description = "设备类型名称")
    private String classLabel;

    @Schema(description = "仪器类型ID")
    private Long deviceId;

    @Schema(description = "仪器类型名称")
    private String deviceLabel;

    @Schema(description = "设备总数")
    private Long deviceCount;

    @Schema(description = "企业总数")
    private Long companyCount;

    @Schema(description = "有数据企业数")
    private Long activeCompanyCount;

    @Schema(description = "无数据企业数")
    private Long inactiveCompanyCount;

    @Schema(description = "企业明细列表")
    private List<ViewAccessDeviceCompanyStatsVO.CompanyItem> companyList;

    @Data
    @Schema(description = "企业设备统计明细")
    public static class CompanyItem {

        @Schema(description = "企业ID")
        private String companyId;

        @Schema(description = "企业名称")
        private String companyName;

        @Schema(description = "企业简称")
        private String companyAbbreviation;

        @Schema(description = "叶子节点名称")
        private String leafNode;

        @Schema(description = "设备数量")
        private Long deviceCount;

        @Schema(description = "节点数量")
        private Long nodeCount;

        @Schema(description = "最新监测值")
        private String nowValue;

        @Schema(description = "数值单位")
        private String valueUnit;

        @Schema(description = "监测时间")
        private String monitoringTime;

        @Schema(description = "MN编码")
        private String mnCode;

        @Schema(description = "监测因子")
        private String monitoringFactor;

        @Schema(description = "监测名称")
        private String monitoringName;

        @Schema(description = "对比标签")
        private String contrastLabel;
    }
}

